<!DOCTYPE html>
<html>
<head>
	<title>模拟sort</title>
</head>
<body>
<script type="text/javascript">

/* 原理

	1. if判断实际上是true和false，因此我们可以在if判断使用函数
	2. 如果a - b > 0 条件成立，说明a > b
	   如果b - a > 0 条件成立，说明a < b
	
*/

function sort(arr, rule) {
	let len = arr.length;
	for (let i = 0; i < len; i++) {
		for (let j = 0; j < len-1-i; j++) {
			if (rule(arr[j], arr[j + 1]) > 0) {
				let temp = arr[j];
				arr[j] = arr[j+1];
				arr[j+1] = temp;
			}
		}
	}
}
let arr = [1, 5, 12, 3, 4];
sort(arr, function(a, b) {
	return b - a;
});
console.log(arr);

</script>
</body>
</html>